#!/usr/bin/env node

import { execSync } from 'child_process';
import { existsSync } from 'fs';

console.log('🎯 初始化开发环境...\n');

// 检查Node版本
const nodeVersion = execSync('node --version').toString().trim();
console.log(`📋 Node版本: ${nodeVersion}`);

// 检查pnpm
try {
  const pnpmVersion = execSync('pnpm --version').toString().trim();
  console.log(`📋 pnpm版本: ${pnpmVersion}`);
} catch {
  console.log('❌ 请先安装pnpm: npm install -g pnpm');
  process.exit(1);
}

// 安装依赖
console.log('\n📦 安装依赖...');
execSync('pnpm install', { stdio: 'inherit' });

// 构建共享包
console.log('\n🔨 构建共享包...');
execSync('pnpm run build:shared', { stdio: 'inherit' });

console.log('\n✅ 开发环境初始化完成！');
console.log('\n🚀 可用命令:');
console.log('  pnpm run dev:all        # 启动所有服务');
console.log('  pnpm run dev:minimal    # 最小化启动');
console.log('  pnpm run dev:legacy     # 只启动老应用');
console.log('  pnpm run dev:check-ports # 检查端口占用');
console.log('  pnpm run dev:smart      # 交互式启动(推荐Windows环境使用)');